CAM is memory that provides an address on its output bus when read. The address corresponds to the storage location of data provided at its input bus. The data (e.g., a data word) is known as a comparand or a key. Addresses in CAM are searched in parallel and produce the address storing associated data. The associated data is typically stored in separate, discrete memory in a storage location specified by the result of the CAM search. In this manner, CAM search functionality enables extremely quick searches of content.
CAM is used in ATM switches for connection identifier compression, whereby a 28-bit VPI/VCI (virtual path identifier/virtual circuit identifier) connection identifier is translated into an 18-bit connection identifier. This translation is necessary when a linecard in the switch can only support 256K connections (18-bit identifier) as compared to the 256 M connections supported by the 28-bit VPI/VCI connection identifier specified by the ATM standard.
Conventional implementations of CAM are limited in that they do not offer adequate error detection to provide indication of when an error occurs on the input bus, storage array or output bus of the CAM. Accordingly, conventional implementations of CAM are limited in their ability to facilitate data retrieval in a manner that is required by a carrier-class ATM switch. Therefore, method and equipment adapted for providing error detection in conventional implementations of CAM would be useful.